With the wide deployment of the Internet, servers have become an essential part of the Internet. However, since it is costly to deploy a complete set of servers running on the Internet, average users only lease or set up a set of virtual resources of standard scale given the cost considerations. In other words, virtual resources are divided into sub-spaces, which are presented to the user in the form of virtual machines. In general, virtual machine technologies refer to a system of executing physical servers running on the Internet, where, through software or hardware enablement, the physical servers are partitioned into a multitude of hard disk spaces of certain sizes, each disk space designated with a virtual machine having corresponding FTP rights, web access rights, etc.
In order to quantize virtual resource usage in the system described above, a monitoring system generally is deployed to collect monitoring data and to perform statistics over the data collected. Present monitoring systems typically are generally simple and they only monitor hardware resources allocated to virtual machines in terms of quantity and bandwidth. However, it is necessary to adopt different monitoring strategies for different virtual machines. For example, for virtual machines of an M3 type, bandwidth can be allocated as 10G; while for virtual machines of n M5 type, bandwidth can be allocated as 20G. As another example, upon detecting a condition where a resource usage exceeds a threshold, differentiated managing actions are also warranted, e.g., if the bandwidth usage of a virtual machine exceeds a threshold value, the virtual machine can be shut down; otherwise if the bandwidth usage of the virtual machine reaches a value of a lesser amount, e.g., 10G, the only penalty incurred is to have an alert message generated and sent.
Therefore, within systems having oversimplified monitoring of virtual machines and oversimplified processing methods associated therewith, only simple or uniformed monitoring rules and policies are implemented for monitoring and managing virtual machine resources. Therefore, it is difficult to process business specific rules and policies, or to target different virtual machines or manage business unique situations.